﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Negocio;
using Entidad;
using Negocio.BL;

namespace EvolSoftWeb
{
    public partial class wfrmDetalleReservaServicio : System.Web.UI.Page
    {
        ServicioLogic blServicio;
        ReservaLogic blReservas;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //this.cargarGrillaServicios();
            }
        }

        private void cargarGrillaServicios()
        {

            blServicio = new ServicioLogic();
            try
            {
                grdServicio.DataSource = blServicio.listarServicio();
                grdServicio.DataBind();
            }
            catch (Exception ex)
            {
                lblmsgOK.Text = ex.InnerException==null?ex.Message:ex.InnerException.Message;
                popupOK.ShowOnPageLoad=true;
            }
        }


        private void listarReservas()
        {
            blReservas = new ReservaLogic();
            try
            {
                grdReservas.DataSource = blReservas.listarReservaxPagar();
                grdReservas.DataBind();
            }
            catch (Exception ex)
            {
                lblmsgOK.Text = ex.InnerException == null ? ex.Message : ex.InnerException.Message;
                popupOK.ShowOnPageLoad = true;
            }
        }

        protected void grdReservas_FocusedRowChanged(object sender, EventArgs e)
        {
            if (grdReservas.VisibleRowCount!=0)
            {
               string reserva = grdReservas.GetRowValues(grdReservas.FocusedRowIndex, "idReserva").ToString();
               string usuario = grdReservas.GetRowValues(grdReservas.FocusedRowIndex, "fec_alquiler").ToString();
               string fechaalquiler = grdReservas.GetRowValues(grdReservas.FocusedRowIndex, "idReserva").ToString();
               string idHabitacion = grdReservas.GetRowValues(grdReservas.FocusedRowIndex, "idHabitacion").ToString();
            if (reserva!=string.Empty)
            {
                txtIdReserva.Text = reserva;
                txtIdHabitacion.Text = idHabitacion;
                txtfechaAlquiler.Text = fechaalquiler;
                txtcliente.Text = usuario;
            } 
            }
        }

        protected void btnBuscarReserva_Click(object sender, EventArgs e)
        {
            this.listarReservas();
            popupReserva.ShowOnPageLoad = true;

        }

        private void listarServicios()
        {
            blServicio = new ServicioLogic();
            try
            {
                grdDetalleServicio.DataSource = blServicio.listarServicio();
                grdDetalleServicio.DataBind();
            }
            catch (Exception ex)
            {
                lblmsgOK.Text = ex.InnerException == null ? ex.Message : ex.InnerException.Message;
                popupOK.ShowOnPageLoad = true;
            }
        }

        protected void btnAgregarServicio_Click(object sender, EventArgs e)
        {
            if (txtIdHabitacion.Text==string.Empty)
            {
                lblmsgOK.Text = "Debe seleccionar una reserva.";
                popupOK.ShowOnPageLoad = true;
                return;
            }
            blServicio = new ServicioLogic();
            string idServicio = grdDetalleServicio.GetRowValues(grdDetalleServicio.FocusedRowIndex, "idServicios").ToString();
            try
            {
                SRH_DETALLESERVICIO objDetalle = new SRH_DETALLESERVICIO();
                objDetalle.iddetalleServicios = blServicio.ObtenerNroDetalleServicio();
                objDetalle.idReserva=Convert.ToInt32(txtIdReserva.Text);
                objDetalle.idServicios = Convert.ToInt32(idServicio);
                if (blServicio.InsertarDetalle(objDetalle))
                {
                    lblmsgOK.Text = "Se inserto satisfactoriamente";
                    popupOK.ShowOnPageLoad = true;
                }
            }
            catch (Exception ex)
            {
                lblmsgOK.Text = ex.InnerException == null ? ex.Message : ex.InnerException.Message;
                popupOK.ShowOnPageLoad = true;
            }
            popupServicios.ShowOnPageLoad = false;
            this.listarGRillaPrincipal(Convert.ToInt32(txtIdHabitacion.Text));
        }

        protected void btnBuscarServicio_Click(object sender, EventArgs e)
        {
            this.listarServicios();
            popupServicios.ShowOnPageLoad = true;
        }

        private void listarGRillaPrincipal(int id)
        {
            blServicio = new ServicioLogic();
            try
            {
                grdServicio.DataSource = blServicio.listarServicioXReservas(id);
                grdServicio.DataBind();
            }
            catch (Exception ex)
            {
                lblmsgOK.Text = ex.InnerException == null ? ex.Message : ex.InnerException.Message;
                popupOK.ShowOnPageLoad = true;
            }
        }

        protected void grdDetalleServicio_FocusedRowChanged(object sender, EventArgs e)
        {

        }

        protected void btnAgregarReserva_Click(object sender, EventArgs e)
        {
            popupReserva.ShowOnPageLoad = false;
        }

        protected void btnAgregarDetalleServicio_Click(object sender, EventArgs e)
        {
            if (txtIdHabitacion.Text == string.Empty)
            {
                lblmsgOK.Text = "Debe seleccionar una reserva.";
                popupOK.ShowOnPageLoad = true;
                return;
            }
            blServicio = new ServicioLogic();
            string idServicio = grdDetalleServicio.GetRowValues(grdDetalleServicio.FocusedRowIndex, "idServicios").ToString();
            try
            {
                SRH_DETALLESERVICIO objDetalle = new SRH_DETALLESERVICIO();
                objDetalle.iddetalleServicios = blServicio.ObtenerNroDetalleServicio();
                objDetalle.idReserva = Convert.ToInt32(txtIdReserva.Text);
                objDetalle.idServicios = Convert.ToInt32(idServicio);
                if (blServicio.InsertarDetalle(objDetalle))
                {
                    lblmsgOK.Text = "Se inserto satisfactoriamente";
                    popupOK.ShowOnPageLoad = true;
                }
            }
            catch (Exception ex)
            {
                lblmsgOK.Text = ex.InnerException == null ? ex.Message : ex.InnerException.Message;
                popupOK.ShowOnPageLoad = true;
            }
            popupServicios.ShowOnPageLoad = false;
            this.listarGRillaPrincipal(Convert.ToInt32(txtIdReserva.Text));
        }

        protected void ASPxButton3_Click(object sender, EventArgs e)
        {
            Response.Redirect("wFrmDefault.aspx?id=8");
        }
    }
}